STU 3 Candidate

This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

F.25.1 StructureDefinition: QICore-MedicationStatement

The official URL for this profile is:

http://hl7.org/fhir/StructureDefinition/qicore-medicationstatement

Profile of MedicationStatement for decision support/quality metrics. Defines the core set of elements and extensions for quality rule and measure authors.

This profile was published on Fri, Feb 27, 2015 00:00+1100 as a draft by Health Level Seven International (Clinical Quality Information - QICore).

F.25.1.1 Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement I0..*MedicationStatementRecord of medication being taken by a patient
mst-2: Reason for use is only permitted if wasNotTaken is false
mst-1: Reason not taken is only permitted if wasNotTaken is true
... meta 0..1MetaMetadata about the resource
... implicitRules ?! 0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: IETF BCP-47 (required)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierExternal identifier
... status ?! S1..1codeactive | completed | entered-in-error | intended
Binding: MedicationStatementStatus (required)
... medication[x] S 1..1CodeableConcept, Reference(QICore-Medication)What medication was taken
Binding: Medication Clinical Drug (RxNorm) (preferred)
... patient S 1..1Reference(QICore-Patient)Who is/was taking the medication
... effective[x] S 0..1dateTime, PeriodOver what period was medication consumed?
... informationSource S 0..1Reference(QICore-Patient | QICore-Practitioner | QICore-RelatedPerson)Person who provided the information about the taking of this medication
... supportingInformation 0..*Reference(Resource)Additional supporting information
... dateAsserted S 0..1dateTimeWhen the statement was asserted?
... wasNotTaken ?! S0..1booleanTrue if medication is/was not being taken
... reasonNotTaken I0..*CodeableConceptTrue if asserting medication was not given
Binding: Reason Medication Not Given Codes (example)
... reasonForUse[x] 0..1CodeableConcept, Reference(QICore-Condition)Binding: Condition/Problem/Diagnosis Codes (example)
... note 0..*AnnotationFurther information about the statement
... dosage 0..*BackboneElementDetails of how medication was taken
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?! 0..*ExtensionExtensions that cannot be ignored
.... text 0..1stringFree text dosage instructions as reported by the information source
.... timing S 0..1TimingWhen/how often was medication taken
.... asNeeded[x] 0..1boolean, CodeableConceptTake "as needed" (for x)
Binding: (unbound) (example)
.... site[x] 0..1CodeableConcept, Reference(BodySite)Where (on body) medication is/was administered
Binding: Vaccine Administered Body Site (preferred)
.... route S 0..1CodeableConceptHow the medication entered the body
Binding: Medication Route FDA Value Set (preferred)
.... method 0..1CodeableConceptTechnique used to administer medication
Binding: (unbound) (example)
.... quantity[x] 0..1SimpleQuantity, RangeAmount administered in one dose
.... rate[x] 0..1Ratio, RangeDose quantity per unit of time
.... maxDosePerPeriod 0..1RatioMaximum dose that was consumed per unit of time

doco Documentation for this format

todo

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement I0..*MedicationStatementRecord of medication being taken by a patient
mst-2: Reason for use is only permitted if wasNotTaken is false
mst-1: Reason not taken is only permitted if wasNotTaken is true
... meta 0..1MetaMetadata about the resource
... implicitRules ?! 0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: IETF BCP-47 (required)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierExternal identifier
... status ?! S1..1codeactive | completed | entered-in-error | intended
Binding: MedicationStatementStatus (required)
... medication[x] S 1..1CodeableConcept, Reference(QICore-Medication)What medication was taken
Binding: Medication Clinical Drug (RxNorm) (preferred)
... patient S 1..1Reference(QICore-Patient)Who is/was taking the medication
... effective[x] S 0..1dateTime, PeriodOver what period was medication consumed?
... informationSource S 0..1Reference(QICore-Patient | QICore-Practitioner | QICore-RelatedPerson)Person who provided the information about the taking of this medication
... supportingInformation 0..*Reference(Resource)Additional supporting information
... dateAsserted S 0..1dateTimeWhen the statement was asserted?
... wasNotTaken ?! S0..1booleanTrue if medication is/was not being taken
... reasonNotTaken I0..*CodeableConceptTrue if asserting medication was not given
Binding: Reason Medication Not Given Codes (example)
... reasonForUse[x] 0..1CodeableConcept, Reference(QICore-Condition)Binding: Condition/Problem/Diagnosis Codes (example)
... note 0..*AnnotationFurther information about the statement
... dosage 0..*BackboneElementDetails of how medication was taken
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?! 0..*ExtensionExtensions that cannot be ignored
.... text 0..1stringFree text dosage instructions as reported by the information source
.... timing S 0..1TimingWhen/how often was medication taken
.... asNeeded[x] 0..1boolean, CodeableConceptTake "as needed" (for x)
Binding: (unbound) (example)
.... site[x] 0..1CodeableConcept, Reference(BodySite)Where (on body) medication is/was administered
Binding: Vaccine Administered Body Site (preferred)
.... route S 0..1CodeableConceptHow the medication entered the body
Binding: Medication Route FDA Value Set (preferred)
.... method 0..1CodeableConceptTechnique used to administer medication
Binding: (unbound) (example)
.... quantity[x] 0..1SimpleQuantity, RangeAmount administered in one dose
.... rate[x] 0..1Ratio, RangeDose quantity per unit of time
.... maxDosePerPeriod 0..1RatioMaximum dose that was consumed per unit of time

doco Documentation for this format

XML Template

JSON Template

todo

 

Other representations of profile: Schematron

F.25.1.2 Terminology Bindings

PathNameConformanceValueSet
MedicationStatement.language?extrequiredhttp://tools.ietf.org/html/bcp47
MedicationStatement.statusMedicationStatementStatusrequiredMedicationStatementStatus
MedicationStatement.medication[x]Medication Clinical Drug (RxNorm)preferredMedication Clinical Drug (RxNorm)
MedicationStatement.reasonNotTakenReason Medication Not Given CodesexampleReason Medication Not Given Codes
MedicationStatement.reasonForUse[x]Condition/Problem/Diagnosis CodesexampleCondition/Problem/Diagnosis Codes
MedicationStatement.dosage.asNeeded[x]?extexample
MedicationStatement.dosage.site[x]Vaccine Administered Body SitepreferredVaccine Administered Body Site
MedicationStatement.dosage.routeMedication Route FDA Value SetpreferredMedication Route FDA Value Set
MedicationStatement.dosage.method?extexample

F.25.1.3 Constraints

IdPathDetailsRequirements
mst-2MedicationStatementReason for use is only permitted if wasNotTaken is false
XPath: not(exists(*[starts-with(local-name(.), 'reasonForUse')]) and f:wasNotTaken/@value=true())
mst-1MedicationStatementReason not taken is only permitted if wasNotTaken is true
XPath: not(exists(f:reasonNotTaken) and f:wasNotTaken/@value=false())
.